typedef struct UF4_MatchInfo
{
    unsigned int sip;
    unsigned int dip;
    unsigned short sport;
    unsigned short dport;
} UF4_MatchInfo_S;

typedef struct UF_kruleinfo
{
    struct list_head list;
    UF_RuleInfo_S rule;
    struct ts_config *match_url;
} UF_kruleinfo_S;

int UF_entry_addurl
(
    unsigned int optcode,
    void *input, unsigned int inputlen, 
    void *output, unsigned int outputlen
);

int UF_entry_delurl
(
    unsigned int optcode,
    void *input, unsigned int inputlen, 
    void *output, unsigned int outputlen
);

int UF_entry_show
(
    unsigned int optcode,
    void *input, unsigned int inputlen, 
    void *output, unsigned int outputlen
);

int UF_entry_action
(
    unsigned int optcode,
    void *input, unsigned int inputlen, 
    void *output, unsigned int outputlen
);

int UF_entry_https
(
    unsigned int optcode,
    void *input, unsigned int inputlen, 
    void *output, unsigned int outputlen
);

int UF_entry_debug
(
    unsigned int optcode,
    void *input, unsigned int inputlen, 
    void *output, unsigned int outputlen
);

unsigned int UF_match_rule(UF4_MatchInfo_S *pfilter, void *packet);

extern unsigned int match_debugging;
extern unsigned int match_count;
extern unsigned int default_debugging;
extern unsigned int default_count;

void UF_rule_init(void);
void UF_rule_exit(void);
